package com.zuipin.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zuipin.entity.RuleSetUseLog;
import com.zuipin.vo.RuleSetUserLogVo;

/**
 * RuleSetUseLogMapper数据库操作接口类
 * 
 * @ClassName: RuleSetUseLog
 * @author wuyicheng 
 * @time 2017年4月18日下午4:43:18 
 **/

@Mapper
public interface RuleSetUseLogMapper {
	
	/**
	 * 查询（根据主键ID查询）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public RuleSetUseLog findById(@Param("id") Long id);
	
	/***
	 * 查询（根据订单根据订单和赠送状态查询）
	 * 
	 * 
	 */
	public List<RuleSetUseLog> findByOrderNo(@Param("orderNo") Long orderNo, @Param("state") String state);
	
	/**
	 * 删除（根据主键ID删除）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int deleteByPrimaryKey(@Param("id") Long id);
	
	/**
	 * 添加 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int insert(RuleSetUseLog ruleSetUseLog);
	
	/**
	 * 修改 （匹配有值的字段）
	 * 
	 * @author: wuyicheng 
	 * @date: 2017年4月18日下午4:50:31 
	 **/
	public int update(RuleSetUseLog ruleSetUseLog);
	
	/**
	 * 统计客户使用规则次数
	 *
	 * @Title: countUseNums 
	 * @author: wuyicheng
	 * @date: 2017年7月18日上午11:08:42 
	 * @param map
	 * @return
	 * @return: int
	 * @throws
	 */
	public int countUseNums(Map<String, Object> map);
	
	/**
	 * 根据订单和(SHOW_TYPE=SUB_AMOUNT:减金额)查询
	 */
	public List<RuleSetUserLogVo> findByOrderIdAndShowType(@Param("orderId") Long orderId);
	
	public List<RuleSetUseLog> findIntegralAndBalance(@Param("orderId") Long orderId);
	
	public void updateIsGiving(@Param("ids") List<Long> ids, @Param("isGiving") Short isGiving);
}